package com.wocai.jrt.admin.user.service.spi;

import java.util.List;

import com.vteba.service.generic.MyBatisService;
import com.wocai.jrt.admin.common.bean.Node;
import com.wocai.jrt.admin.user.model.Authorities;
import com.wocai.jrt.admin.user.model.AuthoritiesBean;
import com.wocai.jrt.admin.user.model.Roles;

/**
 * 权限表相关的业务service接口。
 * @author yinlei
 * @date 2015-7-6 11:40:41
 */
public interface AuthoritiesService extends MyBatisService<Authorities, AuthoritiesBean, String> {
	
	/**
	 * 获取该用户所有的权限
	 * @param userId 用户id
	 * @param orgId 机构Id，暂时没有使用
	 * @return 权限list
	 */
	public List<Authorities> queryAuthorityList(String userId, String orgId);
	
	/**
	 * 保存权限，同时维护权限和资源的关联关系
	 * @param authorities 权限信息
	 * @return 是否成功
	 */
	public int saveAuthorities(Authorities authorities);
	
	/**
	 * 删除权限，同时维护权限和资源的关系。
	 * @param authId 权限Id
	 * @return 是否成功
	 */
	public int deleteAuthorities(String authId);
	
	/**
	 * 更新资源，同时维护权限和资源的关系
	 * @param authorities 权限信息
	 * @return 1成功
	 */
	public int updateAuthorities(Authorities authorities);
	
	/**
	 * 获取角色的权限树
	 * @param roles 角色、查询条件
	 * @return 权限树node
	 */
	public Node getAuthTree(Roles roles);
}
